package com.ittest.service.system;

import com.ittest.domain.system.Permission;
import com.ittest.domain.system.Role;
import com.ittest.domain.system.User;

import java.util.List;

public interface UserService {

    //根据id修改密码
    void updatePwdById(String id, String newPwd);

    /**
     * 根据用户名和密码登录
     * @param username
     * @param password
     * @return
     */
    User login(String username, String password);

    /**
     * 根据用户id查询可以操作的权限
     * @param id
     * @return
     */
    List<Permission> findPermissionById(String id);


    /**
     * 分页查询
     * @param page
     * @param size
     * @return
     */
    List<User> findAll(int page, int size, String sname);

    /**
     * 新增
     * @param user
     */
    void save(User user);

    /**
     * 删除
     * @param id
     */
    void delete(String id);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    User findById(String id);

    /**
     * 根据用户的id查询他对应的角色
     * @param id
     * @return
     */
    List<Role> findRoleByUserId(String id);

    /**
     * 为用户增加角色
     * @param userId
     * @param roleIds
     */
    void addRoleToUser(String userId, String[] roleIds);

    void change(Integer status, String id);
}
